

package proyecto2011;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * Clase para lectura y escritura de Archivos
 * @author Jaime Painefilu - Juan Demo
 */

public class Archivo {
	 String nombre;
	 private FileWriter fichero = null;
	 private PrintWriter pw = null;
	 private FileReader fr = null;
     private BufferedReader br = null;
     private File archivo = null;

	public Archivo(String nombre) {
		super();
		this.nombre = nombre;
	}
	
	
	public void  abrirEscritura(){
		try {
			fichero = new FileWriter(this.nombre);
			pw = new PrintWriter(fichero);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	 /* Apertura del fichero y creacion de BufferedReader para poder
	  * hacer una lectura comoda (disponer del metodo readLine()).
	  */ 
	public void abrirLectura(){
		try {
                    archivo = new File (nombre);
                    fr = new FileReader(archivo);
                    br = new BufferedReader(fr);
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
         
	}

	public void escribirLinea(String linea){
		try
		{
			pw.print(linea);
		}catch (Exception e) {
			e.printStackTrace();
		}
	
	}
	
	public String leerLinea() {
		String linea="";
		try {
	         linea=br.readLine();
	       }
	      catch(Exception e){
	         e.printStackTrace();
	      }
	    return linea;    
	      
	 }
	
	public String leerArchivo() {
		String todasLineas = "";
		 try {
	        String linea;
	         while((linea=br.readLine())!=null)
	            todasLineas = todasLineas+linea+"\n";
	      }
	      catch(Exception e){
	         e.printStackTrace();
	      }  
		return todasLineas;
	}
	

	public void cerrar(){
		try {
			if (null != fichero)
				fichero.close();
			if( null != fr )   
				fr.close();     
              
		} catch (Exception e2) {
			e2.printStackTrace();
		}
}
		  	
}
